Объект Модели ++++++++++++++++ Получение доступных параметров для модели ========================================= Доступ к нейронным моделям в AIR API группируется по выходному типу контента модели: ``text``, ``image`` или ``video`` Если модель генерирует текст, то получить массив всех доступных текстовых моделей можно при помощи GET-запроса на эндпоинт: ``https://api.air.fail/public/text``. Если модель генерирует изображения, то получить массив всех доступных моделей можно при помощи GET-запроса на эндпоинт: ``https://api.air.fail/public/image``. Если модель генерирует видео, то получить массив всех доступных моделей можно при помощи GET-запроса на эндпоинт: ``https://api.air.fail/public/video``. Любая нейронная модель принимает JSON-объект параметров в вложенном в :doc:`объект Message` ключе ``info``. Массив доступных параметров для моделей можно получить по GET-запросу на указанной выше эндпоинт формата: ``https://api.air.fail/public/тип-контента`` Например, запрос на эндпоинт ``https://api.air.fail/public/text`` вернёт массив следующего вида: .. code-block:: bash [ { "title": "ChatGPT", "description": "Безграничные возможности в работе с текстовыми материалами", "slug": "chatgpt", "blocked": false, "versions": [...], "inputs": [...], "parameters": [ { "versions": [ "gpt-4o", "gpt-5-nano", "gpt-5-mini", "gpt-5", "gpt-4o-mini" ], "name": "Температура", "description": "Регулирует случайность и креативность ответов.", "key": "temperature", "type": "floatrange", "values": { "end": 2.0, "step": 0.1, "start": 0.1, "default": 0.5 }, "required": false }, { "versions": [ "gpt-4o", "gpt-5-nano", "gpt-5-mini", "gpt-5", "gpt-4o-mini" ], "name": "Лучший процент", "description": "Регулирует коэффициент, который указывает, насколько ChatGPT может отклониться от изначального запроса", "key": "top_p", "type": "floatrange", "values": { "end": 1.0, "step": 0.1, "start": 0.1, "default": 0.5 }, "required": false }, ... ] }, <другие нейронные модели> ] Объект Параметра ================ Каждый элемент массива под ключом ``parameters`` в ответе от API является объектом Параметра. Каждый параметр имеет следующие ключи: * ``versions``: Список версий модели, к которым относится этот параметр * ``name``: Наименование параметра. * ``description``: Описание параметра. * ``key``: Название ключа во вложенном в :doc:`объект Message` в ``info`` при запросе. * ``type``: Тип параметра. Существуют следующие типы: 1. ``int``: Целое число 2. ``float``: Вещественное число 3. ``str``: Cтроковое значение 4. ``list``: Массив (список) 5. ``floatrange``: Вещественный диапозон 6. ``intrange``: Целочисленный диапозон 7. ``bool``: Логический тип (Истина или Ложь) * ``values`` - Значение параметра. Например: 1. Пример с ``int``: .. code-block:: bash { "type": "int", "values": {} // Пусто, так как пользователь вводит значение самостоятельно! } 2. Пример с ``float``: .. code-block:: bash { "type": "float", "values": {} // Пусто, так как пользователь вводит значение самостоятельно! } 3. Пример с ``str``: .. code-block:: bash { "type": "str", "values": {} // Пусто, так как пользователь вводит значение самостоятельно! } 4. Пример с ``list``: .. code-block:: bash { "type": "list", "values": { "default": "параметр_1", // Значение по умолчанию "availables": [ "параметр_1", "параметр_2", "параметр_3" ] // Список доступных параметров } } 5. Пример с ``floatrange``: .. code-block:: bash { "type": "floatrange", "values": { "end": 2.5, // Максимальное значение параметра "step": 0.5, // Шаг "start": 0, // Минимальное значение параметра "default": 0.8 // Значение по умолчанию } } 6. Пример с ``intrange``: .. code-block:: bash { "type": "intrange", "values": { "end": 4, // Максимальное значение параметра "step": 1, // Шаг "start": 0, // Минимальное значение параметра "default": 2 // Значение по умолчанию } } 7. Пример с ``bool``: .. code-block:: bash { "type": "bool", "values": { "default": true // Значение по умолчанию } } * ``required``: Обязательна ли передача параметра в объект ``info``. Если у Параметра уже есть значение по умолчанию, передача в любом случае становится необязательной. Передача параметров генерации ============================= Для передачи параметров в :doc:`объекте Message` используйте ключ ``info``. Ключи объекта должны совпадать с ``key`` параметров, а значения — с их ``type``. У большинства нейронных моделей есть обязательный строковый (``str``) параметр :doc:`version` (для тех моделей, у которых указаны версии в массиве versions). В него передаётся версия модели для генерации, например: ``gpt-5``, ``gpt-5-nano``, ``gpt-5-mini``. **Внимание**: некоторые параметры действуют только для конкретных версий — проверяйте совместимость, обращая внимание на ключ ``versions`` у параметра, описанный выше. Пример сообщения для модели: .. code-block:: bash { "content": "👋", "info": { "version": "gpt-5", // обязательный параметр, описанный выше "temperature": 0.8 } }